﻿using Model.BusinessModel.OutPut;
using Utility;
using Utility.Enum;

namespace DomainService.IService
{
    public interface IBaseService
    {
        /// <summary>
        /// 获取当前菜单id
        /// </summary>
        /// <returns></returns>
        string GetCurrentMenuId();

        /// <summary>
        /// 获取当前登录用户
        /// </summary>
        /// <returns></returns>
        LoginOutPut GetUserInfo();

        /// <summary>
        /// 获取权限条件
        /// </summary>
        /// <param name="ruleTypeEnum">权限规则类型</param>
        /// <param name="mainTableAlias">主表别名</param>
        ///  <param name="menuId">菜单id</param>
        /// <returns></returns>
        ReceiveStatus<string> GetAuthWhere(RuleTypeEnum ruleTypeEnum, string mainTableAlias, string? menuId = null);
    }
}
